import { storeToRefs } from 'pinia';
import { userInfo } from '@/store/user.js';

// 匹配 任何数字 字母 中文 3-14个
let regName = /^[\u4e00-\u9fa5_\w]{3,14}$/;
// 匹配 以字母开头，长度在6~18之间，只能包含字符、数字和下划线
let regPass = /^[a-zA-Z]\w{5,17}$/;
// 匹配账号
export const userNameRegExp = (_, value, callback) => {
  const store = userInfo();
  const { bol } = storeToRefs(store);
  if (value.trim() === "") {
    bol.value = false;
    callback(new Error('账号不能为空'))
  } else if (!regName.test(value)) {
    bol.value = false;
    callback(new Error("需要提供3-14字"))
  } else {
    bol.value = true;
    callback()
  }
}
// 匹配密码
export const userPassRegExp = (_, value, callback) => {
  const store = userInfo();
  const { bol } = storeToRefs(store);
  if (value.trim() === "") {
    bol.value = false;
    callback(new Error('密码不能为空'))
  } else if (!regPass.test(value)) {
    bol.value = false;
    callback(new Error("字母开头长度在6~18之间"))
  } else {
    bol.value = true;
    callback()
  }
}
// router检测不可为空
export const userRouterRegExp = (_, value, callback) => {
  if (value.trim() === "") {
    callback(new Error('输入不能为空！'))
  } else {
    callback()
  }
}
// 不能为空
export const userTrimRegExp = (_, value, callback) => {
  if (value.trim() === "") {
    callback(new Error('不能为空'))
  } else {
    callback()
  }
}
// 配置logo 与 头像地址
export const usePathInfo = (_, value, callback) => {
  if (value.trim() === "") {
    callback(new Error('不能为空'))
  } else if (value.startsWith("http")) {
    callback()
  } else {
    callback(new Error('不符合'))
  }
}

